package gui;

import java.awt.*;
import java.awt.event.*;
import java.util.Vector;

import java.util.Iterator;

import daten.Diplomarbeit;
import daten.DiplomarbeitenContainer;
import daten.Professor;

public class DiplomarbeitenAuswahl extends Dialog implements ActionListener {
	private Professor subject;
	private List lbDiplomarbeiten;
	private Diplomarbeit d;

	public DiplomarbeitenAuswahl(Dialog owner, Professor subject) {
		super(owner, "Diplomarbeit auswählen");
		this.subject = subject;
		this.lbDiplomarbeiten = new List();
		Iterator<Diplomarbeit> it = DiplomarbeitenContainer.instance()
				.getUnbetreuteDiplomarbeiten().iterator();
		while(it.hasNext()) {
			lbDiplomarbeiten.add(it.next().toString());
		}
		
		this.setLayout(new BorderLayout());
		Panel p = new Panel();
		p.setLayout(new GridLayout(1,2));
		Button b = new Button("Auswählen");
		b.addActionListener(this);
		p.add(b);
		Button c = new Button("Abbrechen");
		c.addActionListener(this);
		p.add(c);
		
		this.add(lbDiplomarbeiten, BorderLayout.CENTER);
		this.add(p, BorderLayout.SOUTH);
		
		this.setSize(400,300);
		this.setVisible(true);
	}

	@Override
	public void actionPerformed(ActionEvent arg0) {
		if(arg0.getActionCommand().equals("Abbrechen")) {
			this.dispose();
		}
		if(arg0.getActionCommand().equals("Auswählen")) {
			Iterator<Diplomarbeit> it = DiplomarbeitenContainer.instance().iterator();
			Diplomarbeit q = null;
			while(it.hasNext()) {
				q = it.next();
				if(q.toString().equals(lbDiplomarbeiten.getSelectedItem())) {
					this.d = q;
				}
			}
			
			d.setlinkBetreuer(subject);
			DiplomarbeitenContainer.instance().modified();
			DiplomarbeitenContainer.instance().notifyObservers();
			this.dispose();
		}

	}
}
